#ifndef _MODEL_MANAGER_H
#define _MODEL_MANAGER_H

#include "cnn_operation.h"

/* 模型描述结构体 */
typedef struct Model{
	char *name;        /*模型名称*/
	char *pcModelPath; /*模型文件路径*/
	int iNumOfLayer;   /*模型层数*/
	PT_KernelParams ptKernelParamsHead; /*卷积核参数*/
	int (*ModelParamsInit)(void);       /*模型参数初始化函数*/
	void (*ModelParamsFree)(void);		/*模型参数释放函数*/
	PT_InoutputData (*ModelFunction)(PT_InoutputData ptImageData);  /*模型预测函数*/
    struct Model *ptNext;
}T_ModelDisc,*PT_ModelDisc;

int RegisterModelDisc(PT_ModelDisc ptModelDisc);

void ShowModelDisc(void);

PT_ModelDisc GetModelDisc(char *pcName);

int ModelInit(void);

int MnisInit(void);

#endif